iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0
Modern Web

你說Codeigniter還能怎麼做?系列 第 5

[Day05] MongoDB設定安裝調整(上)

  • 分享至 

  • xImage
  •  

上一次我們終於把CI上傳完成,而今天我們要帶入MongoDB~

安裝MongoDB

首先我們先透過終端機進行登入:
終端機登入

首先我們需要匯入MongoDB公開的金鑰

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

下一步建立 /etc/apt/sources.list.d/mongodb-org-3.0.list

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

接著我們透過指令更新apt-get

sudo apt-get update

下一步就是主角透過指令安裝MongoDB:

sudo apt-get install -y mongodb-org (當跑出Y/N,請輸入Y)

另外可能有些人會跑出這個錯誤畫面:
錯誤畫面

此時我們只要把他匯出就沒問題:

export LC_ALL=C

安裝完成後我們可以透過指令進入Mongo,接著會看到以下畫面,如此一來就安裝完成摟:

mongo

MongoDB控制台

另外如果要離開可以透過exit離開MongoDB。

設定MongoDB權限

基本上Mongo登入預設是沒有帳號密碼的,人人都可以進入,不過這樣蠻危險的,我們就為他加入一個使用者權限吧!
透過mongo進入MongoDB的環境,接著輸入指令來創建:

use admin

切換管理員資料庫

下一步透過指令創建管理員的帳號密碼,userpwd可以設定自己想要的,另外下方角色代表賦予此管理員擁有操作"所有"資料庫的權限:

db.createUser(
  {
    user: "ciSuperManAdmin",
    pwd: "xxxxxx",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

創建管理者

下一步我們透過exit離開介面,接著我們進入檔案啟動權限:

sudo nano /etc/mongod.conf

進入檔案後,在#security後方加入以下內容:

#security:
security.authorization : enabled

啟動權限

接著按Ctrl+X -> Y -> (Enter)進行儲存,改好之後我們可以透過指令重新啟動MongoDB

sudo service mongod restart

重新啟動MongoDB

接著我們透過mongo進行登入,嘗試用指令,會發現發生錯誤,此時就代表你沒有權限進行操作,
沒有權限

下一步我們可以透過離開介面,接著透過授權進行登入,登入後就能如期使用指令摟:

mongo -u "myUserAdmin" -p --authenticationDatabase "admin"

授權權限

新建權限給網站

下一步我們要專門為網站新建一個使用者,這個使用者只有使用當下網站的權限,避免被外來者破壞,接著我們用同樣方法去新建使用者帳號:

use database

進入資料庫

接著一樣的方法去創建使用者

db.createUser(
  {
    user: "ci_superman",
    pwd: "xxxxxx",
    roles: [ { role: "dbOwner", db: "databbase" } ]
  }
)

創建用戶

如此一來,我們就有資料庫與用戶拉!未來伺服器可以用此組帳號密碼登入資料庫。

然而這次寫到一半發現內容有點多,
所以我就把第三方套件放到明天!
那~我們明天見:D

Next station ... MongoDB設定安裝調整(下)


上一篇
[Day04] 安裝Codeigniter套件
下一篇
[Day06] MongoDB設定安裝調整(下)
系列文
你說Codeigniter還能怎麼做?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言